//开发验证码：定义方法实现随机产生一个5位的验证码
//夏梓豪
//2023/04/02

package Code3;

import java.util.Random;

public class test1 {
    public static void main(String[] args) {
        /*需求：
        * 定义方法实现随机产生一个5位的验证码
        * 验证码格式长度为5
        * 前四位是大写字母或者小写字母
        * 最后一位是数字
        * */

        //方法
        //在以后如果我们要在一堆没有什么关系的数据中随机抽取
        //可以先将这些数据放在数组当中

        //分析
        //1，大写字母和小写字母都放在数组当中
        char[] chs = new char[52];
            //ASCII码表
        for (int i = 0; i < chs.length; i++) {
            if ( i <= 25){
                //添加小写符号
                chs[i] = (char)(97 + i);
            }else{//26
                //添加大写字母
                //A-------65
                chs[i] = (char)(65 + i -26);//减去26是因为要保证65开始才是大写字母
            }
        }
//            //遍历
//        for (int i = 0; i < chs.length; i++) {
//            System.out.print(chs[i] + " ");
//        }


        //定义一个字符串类型的变量，用来记录最终的结果
        String result = "";
        Random r = new Random();
        //2，随机抽取四次
        for (int i = 0; i < 4; i++) {
            //随机抽取数组中的索引

            //获取随机索引,获取对应元素
            int randomIndex = r.nextInt(chs.length);
            //System.out.print(chs[randomIndex]);
                result = result + chs[randomIndex];
        }
        //3，随机抽取一个数字0-9
        int number = r.nextInt(10);
        result = result + number;


        //输出验证码
        System.out.println(result);
    }
}
